package com.ceair.config;

import org.flowable.spring.SpringProcessEngineConfiguration;
import org.flowable.spring.boot.EngineConfigurationConfigurer;
import org.springframework.context.annotation.Configuration;

/**
 * @author wangbaohai
 * @ClassName FlowableConfig
 * @description: Flowable配置类
 * @date 2025年04月18日
 * @version: 1.0.0
 */
@Configuration
public class FlowableConfig implements EngineConfigurationConfigurer<SpringProcessEngineConfiguration> {

    /**
     * 配置流程引擎的字体设置，以解决流程图中中文显示乱码的问题。
     *
     * @param engineConfiguration SpringProcessEngineConfiguration 对象，用于配置流程引擎的相关属性。
     *                            该参数不能为空，且应为已初始化的配置对象。
     *
     * 此方法通过设置活动字体、标签字体和注解字体为“宋体”，确保生成的流程图中中文能够正确显示。
     */
    @Override
    public void configure(SpringProcessEngineConfiguration engineConfiguration) {
        // 设置流程图中活动节点的字体为宋体，避免中文乱码问题
        engineConfiguration.setActivityFontName("宋体");

        // 设置流程图中标签的字体为宋体，确保标签中的中文正常显示
        engineConfiguration.setLabelFontName("宋体");

        // 设置流程图中注解的字体为宋体，防止注解内容出现中文乱码
        engineConfiguration.setAnnotationFontName("宋体");
    }
}
